package scaladuct.system;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * An internal annotation that indicates a phase method argument for passing a factory name.
 *
 * <p/>
 * Created by IntelliJ IDEA.
 * User: zslajchrt
 * Date: Aug 23, 2010
 * Time: 8:59:31 PM
 */
@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface FactoryName {
    /**
     * @return The index of the phase method argument which holds the factory name
     */
    int value();
}
